/**
 * @extends zepto.js 1.1.2
 * @fileOverview 试客联盟触屏版 - 列表页
 * @author janmi
 * @email 627943558@qq.com
 * @version 0.1
 * @date 2015/5/6
 */
!function($){

    var loader = {
        initCont:10,//初始化加载记录数
        ajaxCont:7,//ajax加载记录数
        isajax:false,//是否启用加载
        rCont:1,//更多请求次数
        uCont:0,//更新请求次数
        moreUrl:'../data/more.json',//加载更多数据
        updateUrl:'../data/update.json',//获取最新数据
        data:[],
        updateData:[]
    }

    
    
    var list = {
        init:function(){
            list.readData(loader.moreUrl, function(){
                    setTimeout(function(){

                        list.hideLoading();

                        var html = template('loaderhtml',{'list':loader.data.slice(0,loader.initCont)});
                        $('#J_list').append(html);
                        list.layzr();
                        $('.goods-more').show();
                    },2000);
                }
            );
        },
        readData:function(url,callback){
            $.getJSON(url, function(data) {
                    loader.data = data;
                    if (typeof callback == 'function') callback();
            });
        },
        getData:function(){
            var len = loader.rCont*loader.ajaxCont+loader.initCont;//more请求的数据量

            if (loader.isajax || loader.rCont == 3) return;
            loader.isajax = true;

            list.showLoading();
            list.readData(loader.moreUrl,function(){
                setTimeout(function() {

                    list.hideLoading();

                    var html = template('loaderhtml', {
                        'list': loader.data.slice(len, len+loader.ajaxCont)
                    });
                    $('#J_list').append(html);
                    list.layzr();
                    loader.isajax = false;
                    loader.rCont++;
                    if (loader.rCont == 3 ) {
                        $('#J_more').addClass('disabled').html('没有数据了');
                    };
                }, 2000)
            })

        },
        upDate:function(){
            var len = loader.uCont == 0 ? 0 : (loader.uCont*loader.ajaxCont);//more请求的数据量

            if (loader.isajax || loader.uCont == 3 ) return;
            loader.isajax = true;
            list.readData(loader.updateUrl,function(){
                setTimeout(function() {

                    var html = template('loaderhtml', {
                        'list': loader.data.slice(len, len+loader.ajaxCont)
                    });
                    $('#J_list').prepend(html);
                    loader.isajax = false;
                    loader.uCont++;
                    if (loader.uCont == 3 ) {
                        alert('没有数据了');
                    };
                }, 2000)
            })
        },
        showLoading:function(){
            $('.J_loader').css('height', '30px');
        },
        hideLoading:function(){
            $('.J_loader').css('height', '0px');
        },
        /*
            图片懒加载
         */
        layzr:function(){
            new Layzr();
        }
    }
    list.init(); 

    /*
        显示更多
    */
    $('#J_more').on('click',  function(event) {
        if (!$(this).hasClass('disabled')) list.getData();
    });

    /*
        返回顶部
    */
   // var $backtop = $('#J_backtop');
   // $(window).on('scroll', function() {
   //     $(window).scrollTop() > 300 ? $backtop.show() : $backtop.hide();
   // });

   // $backtop.on('click',function() {
   //     $(window).scrollTop(0);
   //     return;
   // });

    /*
        显示商品分类
    */
   $('#J_showType').on('click',function() {
       var type = $('#J_type');
        if (type.hasClass('goods-type-cur')) {
            type.removeClass('goods-type-cur');
        } else {
            type.addClass('goods-type-cur');
        }
   });

   /*
        显示排序
    */
    $('#J_sort').on('click', function(event) {
        var sort = $('.sort-type');
        sort.sho
        if (sort.hasClass('sort-type-cur')) {
            sort.removeClass('sort-type-cur');
        }else{
            sort.addClass('sort-type-cur');
        }
    });


}(Zepto);
